package com.example.module.favorites.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.module.favorites.DO.GetFavoritesDO;
import com.example.module.favorites.form.FavoritesAddForm;
import com.example.module.favorites.form.FavoritesDeleteForm;
import com.example.module.favorites.form.GetFavoritesForm;
import com.example.module.favorites.vo.GetFavoritesVO;

import java.util.List;

/**
 * @author ghy
 * @date 2025/08/15
 * @description 收藏夹服务
 */

public interface FavoritesService {
    /*
     * 添加收藏
     *
     * @param favoritesAddForm
     * @return void
     * */
    void addFavorites(FavoritesAddForm favoritesAddForm);

    /*
     * 删除收藏
     *
     * @param FavoritesDeleteForm
     * @return void
     */
    void deleteFavorites(FavoritesDeleteForm favoritesDeleteForm);

    /*
     * 查询收藏
     *
     * @param GetFavoritesForm
     * @return List<GetFavoritesVO>
     * */
    List<GetFavoritesVO> getFavorites(GetFavoritesForm getFavoritesForm);

    /*
     * 分页查询收藏
     *
     * @param getFavoritesForm 查询条件
     * @return Page<GetFavoritesVO> 分页结果
     */
    Page<GetFavoritesVO> getFavoritesPage(GetFavoritesForm getFavoritesForm);

}
